package com.zhoukai.service;

import com.zhoukai.domain.User;
import com.zhoukai.dto.UserDto;
import com.zhoukai.vo.DataGridView;

import java.util.List;

/**
 * @Description TODO
 * @Author Mr.ZHOU
 * @Date Created in 2021/12/15 10:25
 */

public interface UserService {
    /**
     * 分页查询用户
     * @param userDto
     * @return
     */
    DataGridView listUserForPage(UserDto userDto);

    /**
     * 添加用户
     * @param userDto
     * @return
     */
    int addUser(UserDto userDto);

    /**
     * 修改用户
     * @param userDto
     * @return
     */
    int updateUser(UserDto userDto);

    /**
     * 删除用户
     * @param userIds
     * @return
     */
    int deleteUserByIds(Long[] userIds);

    /**
     * 查询所有可用的用户
     * @return
     */
    List<User> getAllUsers();

    /**
     * 重置用户密码
     * @param userIds
     */
    void resetPassWord(Long[] userIds);


    /**
     * 根据手机号查询用户
     */
    public User queryUserByPhone(String phone);


    /**
     * 根据用户ID查询用户对象
     * @param userId
     * @return
     */
    public User queryUserById(Long userId);

    /**
     * 根据用户ID和科室ID查询需要排班的用户
     * 如果用户ID为空。那么只查询科室
     * @param userId
     * @param deptId
     * @return
     */
    List<User> queryUsersNeedScheduling(Long userId, Long deptId);
}

